package offer.question41_50.solutions;

public class QSolution45 {

    /*
     * 把数组排成最小的数
     *
     * 看到这道题目时，我们最初的想法就是对数组求全排列，然后进行拼接，然后选择最小的数字，但是这样就有 n! 种排列，情况太复杂。
     * 所以我们需要使用别的方法。考虑两个数字 m 和 n，那么如果 mn < nm，那么我们定义 m 小于 n，这是因为在形成的最小的数字
     * mn 中，m 位于 n 前面。
     *
     * 所以，我们定义如下排序规则：
     *
     * i.若拼接字符串 x + y > y + x，则 x 大于 y
     * ii.若 x + y < y + x，则 x 小于 y
     *
     * 根据上面的排序规则，套用任何一个排序算法就可以求出拼接的最小的数字
     */

}
